Generally, workflow is the movement of tasks through a work process by activity execution. Specifically, workflow is the operational aspect of a work procedure: how tasks are structured, who performs them, what their relative order is, how they are synchronized, how information flows to support the tasks, and how tasks are tracked.
In an example graph-based format workflow, activities are represented as nodes while control-flow and dependencies are represented as arcs connecting the nodes. The graph-based format workflow is visual and easy for a user to understand and manipulate. But the graph-based format workflow requires the order of activities to be fully known at design-time. In addition, execution can only occur in the order that the workflow defined.
FIG. 1A depicts an example graph-based format workflow 100. In graph-based format, a workflow is graphically defined and depicted. Activities are represented as nodes while control-flow and dependencies are represented as arcs connecting the nodes. The graph-based format workflow is visual and easy for a user to understand and manipulate. But the graph-based format workflow requires the order of activities to be fully known at design-time. In addition, execution can only occur in the order that the workflow defined.
FIG. 1B depicts an example rule-based format workflow. In rule-based format, a workflow is defined as a set of rules. Each rule is associated with a particular business process. Each business activity may be associated with a pre- and post-conditions, specified as logical expressions. All rules are defined prior to execution of the workflow. Order of execution is determined by a processing engine, and an activity is executed whenever pre-conditions become true. The rule-based format workflow is much more flexible compared to the graph-based format workflow. But rule-based format workflow is less intuitive to understand because it is not in graphical form.
A need exists to combine the two formats and provide a user interface to a workflow management system without the disadvantages of either format. Further, a need exists to have an intuitive user interface for workflows that enables easy understanding of the processes and to have the flexibility of rule-based approaches at the same time.